// Các đối tượng có thể cheat là các .smartbox bên trong #tbl

// onclick="VisitThisPage('623', '10','http://bentbrainmusic.com','BentBrain Music Home','7963');"/>
/*
 <input type="submit" class="submit" style="background: #999999; border-radius: 10px;" value="Confirm"
 onclick="GetSubCount('http://www.facebook.com/dipintodesign', '5403', '1080');">

 */


$(function () {
    window["cheater"] = function (p) {
        var $tbl = $("#tbl"),
            functionCallPattern = /"GetSubCount\('([^']+)',\s*'(\d+)',\s*'(\d*)\}?'\);"/i,
            $smartBoxes = $("div.smartbox", $tbl),
            sbTotal = $smartBoxes.length;

        if (sbTotal == 0) {
            p.msg("Cheating completed! exiting ...");
            return;
        }

        var processThisPage = (function () {
            var numPage = 0,
                numSend = 0,
                ajaxUrl = "fbreceivew.php";

            return function (params) {
                p.msg("Sending " + ++numSend + "/" + sbTotal);
                $.post(ajaxUrl, {
                    data: params[1] + "---" + p.userId + "---" + params[2]
                }, function () {
                    numPage++;
                    p.msg("Cheated " + numPage + "/" + sbTotal + " items(s)!");

                    // Nếu số lượng trang đã gửi thành công bằng tổng số trang thì reload lại trang
                    if (numPage >= sbTotal) {
                        p.msg("Completed! Reloading ...");
                        setTimeout(function () {
                            window.location.reload();
                        }, 1000);
                    }
                });
            };
        }());


        // Tìm tất cả các lời gọi hàm VisitThisPage hợp lệ trong cac smartBoxes
        $smartBoxes.each(function () {
            var html = $(this).html(),
                match = functionCallPattern.exec(html);
            if (match) {
                processThisPage(match);
            } else {
                console.log("FB Like err: " + html);
                // Không thể xử lý được smartbox này, trừ tổng số để bỏ qua
                sbTotal--;
            }
        });
    };
});


